package ticketsell.model;

import java.util.ArrayList;
import java.util.List;

public class Sala {
	private List<Boolean> asientos;
	private List<Integer> saltoDeLinea = new ArrayList<Integer>();

	public Sala(List<Boolean> asientos) {
		this.asientos = asientos;
		saltoDeLinea.add(21);
		saltoDeLinea.add(41);
		saltoDeLinea.add(61);
		saltoDeLinea.add(81);
		saltoDeLinea.add(101);
		saltoDeLinea.add(120);
		saltoDeLinea.add(140);
		saltoDeLinea.add(160);
		saltoDeLinea.add(181);
		saltoDeLinea.add(201);
		saltoDeLinea.add(221);
	}

	public List<Integer> compraAsientos(int cantidad, int discapacitados) {

		List<Integer> seleccionados = new ArrayList<Integer>();
		int i = 0;
		int consecutivas = 0;
		while (i < asientos.size()) {
			if (asientos.get(i) && !saltoDeLinea.contains(i)) {
				consecutivas++;
				if (consecutivas >= cantidad
						&& numeroDiscapacitados(i, consecutivas) >= discapacitados) {
					for (int j = 0; j < cantidad; j++) {
						seleccionados.add(i - j);
						asientos.add(i - j, true);
					}
					return seleccionados;
				}
			} else {
				consecutivas = 0;
			}
			i++;
		}
		return null;
	}

	public int numeroDiscapacitados(int posicion, int consecutivas) {
		// TODO ELEGIR NUMERO DE DISCAPACITADOS
		return 0;
	}
}
